#! /usr/bin/env python
# coding: utf-8

import ctypes


def c_ubyte_array_to_str(c_ubyte_array):
    """
    将c_ubyte数组转换为Python字节字符串，并去除结尾的空字符。
    """
    # 使用ctypes.string_at()获取指向C类型数组的指针并转换为字节字符串
    byte_string = ctypes.string_at(ctypes.addressof(c_ubyte_array), len(c_ubyte_array))

    # 查找第一个空字符的位置并截断
    null_index = byte_string.find(b'\x00')  # 找到第一个'\x00'
    if null_index == -1:
        null_index = len(byte_string)

    # 截取有效部分并转换为字符串
    valid_bytes = byte_string[:null_index]
    return str(valid_bytes)